package com.boot2.core.log;

import com.boot2.core.model.AbstractLog;
import com.boot2.core.model.UserLog;
import org.springframework.context.annotation.Import;

import java.lang.annotation.*;

/**
* @author zhangweilin
* @date 2020/6/1 23:02
* @Description:  系统用户日志开关控制
*/
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Import(UserLogRegistrar.class)
public @interface EnableUserLog {

    /**
     * 设置日志的po model类,默认系统自带的UserLog,当enable为false,此无效
     * @return
     */
    Class<? extends AbstractLog> logModelClass() default UserLog.class;

    /**
     * 是否开启系统日志持久化,默认为true,此一般用来关闭系统记录日志.
     * 如果打开此开关，系统在产生用户日志时，会读取三张行政区划表，分别为:
     * sys_position_city,sys_position_district,sys_position_province
     * 它由ip确定了行政区划后进行关联，请确保此三张表被初始化过，如果没有，建议不用持久化系统用户日志，即关闭此项
     * @return
     */
    boolean enable() default true;
}